/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package co.srm.manejadores;

import co.srm.dao.JPAGenericDAO;
import co.srm.entidades.Cobrador;
import co.srm.entidades.Empresa;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 *
 * @author TilZon
 */
public class ManejadorCobrador {

    private JPAGenericDAO<Cobrador> daoCobrador;

    public ManejadorCobrador() {
        this.daoCobrador = new JPAGenericDAO<Cobrador>(Cobrador.class);
    }

    public boolean crearCobrador(String idStr, String identificacionStr, Date fechaRegistro, String nombre, String apellidos, String telefono, String celular, String direccion, Empresa empresa, boolean editar) {
        int identificacion;
        Long id = null;
        Date registro = null;
        Cobrador cobrador = null;
        SimpleDateFormat formato = new SimpleDateFormat("yyyy-MM-dd");
        try {
            identificacion = Integer.parseInt(identificacionStr);
            if (editar) {
                id = Long.parseLong(idStr);
            }
//            registro = formato.parse(fechaRegistro);
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
//        if (contraseña.equals("nuevo_password")) {
//            Usuario consultado = daoUsuario.getById(id);
//            contraseña = consultado.getClave();
//            permisos = consultado.getRoles();
//        } else {
//        }
        try {
            cobrador = new Cobrador();
//            Long idRolDig = new Long(idRol);
//            Rol r = daoPermisos.getById(idRolDig);
//            permisos.add(r);
//            user.setRoles(r);
            /**
             * Datos de la persona
             */
            cobrador.setIdentificacion(identificacion);
            cobrador.setNombres(nombre);
            cobrador.setApellidos(apellidos);
            String direc = (direccion.isEmpty()?"No Suministrada":direccion);
            cobrador.setDireccion(direc);
            cobrador.setTelefono(telefono);
            cobrador.setCelular(celular);
            cobrador.setFechaCreacion(fechaRegistro);
            cobrador.setEmpresa(empresa);
        } catch (Exception e) {
            e.printStackTrace();
        }
        boolean estado = daoCobrador.save(cobrador);
        return estado;
    }

     public List<Cobrador> todosLosCobradores()
    {
       List<Cobrador> cobrador = daoCobrador.findAll();
       if (cobrador != null) {
          return cobrador;
        } else {
          return null;
        }
    }

        public boolean actualizarCobrador(Cobrador c) {
        boolean estado = daoCobrador.save(c);
        return estado;
    }

}
